In this course design and analysis of algorithms is studied. Methodologies
include: divide and conquer, dynamic programming, and greedy
strategies. Their applications involve: sorting, ordering and
searching, graph algorithms, geometric algorithms, mathematical
(number theory, algebra and linear algebra) algorithms, and string
We study algorithm analysis - worst case, average case, and amortized,
with an emphasis on the close connection between the time complexity
of an algorithm and the underlying data structures. We study
NP-Completeness and methods of coping with intractability. Techniques
such as approximation and probabilistic algorithms are studied for
handling the NP-Complete problems.
Text: Introduction to Algorithms, Cormen, Rivest, Leiserson.
Reference: Computers and Intractability, Garey and Johnson
Prof. Shai Simonson is the best lecturer I've ever heard in my life. And he makes AAD very easy. Read the text book after listening to this lecture, and you'll understand almost everything.
Good quality lectures, excellent teaching.